"""
使用 pyautogui 处理文件上传
当网页中没有标准的 input[type='file'] 元素时，
或者上传控件触发了系统对话框时，可以使用 pyautogui 操作
"""
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
import pyautogui
import os

# 创建浏览器驱动对象
driver = webdriver.Chrome()
driver.maximize_window()


# 打开一个简单的文件上传页面示例
driver.get("http://localhost:8081/regA.html")

# 查找文件上传输入框
upload_input = driver.find_element(By.CSS_SELECTOR, "input[name='upfilea']")


ActionChains(driver).click(upload_input).perform()

# 使用 pyautogui 输入文件路径并点击打开按钮
# 注意：这种方法依赖屏幕坐标，不同分辨率下可能需要调整
time.sleep(2)
# 写入文件路径
pyautogui.write(r"D:\PycharmProjects\20250805\UiAutoProject20250805\day04\1.png")


time.sleep(2)
# 按下回车键确认选择
pyautogui.press('enter')

# 等待上传完成
time.sleep(3)